[broadway] Centralize surface creation code in js
authorAlexander Larsson <alexl@redhat.com>
Wed, 6 Apr 2011 07:32:15 +0000 (09:32 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 7 Apr 2011 08:03:17 +0000 (10:03 +0200)
gdk/broadway/broadway.js

index bcac3014f89d324cab5a7a4cdc0d008883ee2739..e00e3eb616fa2b23cf7b8b03fa2dbcb442c955d8 100644 (file)
@@ -92,8 +92,11 @@ var surfaces = {};
 var outstandingCommands = new Array();
 var inputSocket = null;
 
-function initContext(canvas, x, y, id, isTemp)
+function createSurface(id, x, y, width, height, isTemp)
 {
+    var canvas = document.createElement("canvas");
+    canvas.width = width;
+    canvas.height = height;
     canvas.surfaceId = id;
     canvas.style["position"] = "absolute";
     canvas.style["left"] = x + "px";
@@ -105,8 +108,7 @@ function initContext(canvas, x, y, id, isTemp)
     context.drawQueue = [];
     context.isTemp = isTemp;
     context.transientParent = 0;
-
-    return context;
+    surfaces[id] = context;
 }
 
 var GDK_CROSSING_NORMAL = 0;
@@ -226,10 +228,7 @@ function handleCommands(cmdObj)
            i = i + 3;
            var isTemp = cmd[i] == '1';
            i = i + 1;
-           var surface = document.createElement("canvas");
-           surface.width = w;
-           surface.height = h;
-           surfaces[id] = initContext(surface, x, y, id, isTemp);
+           createSurface(id, x, y, w, h, isTemp);
            break;
 
        case 'S': // Show a surface